LCOV - code coverage report
Current view: top level - src - NavigationController.cpp (source / functions) Coverage Total Hit
Test: RVC v2.0 Unit Test Coverage Lines: 100.0 % 32 32
Test Date: 2026-06-04 11:15:37 Functions: 100.0 % 8 8
Legend: Lines:     hit not hit

            Line data    Source code
       1              : #include "NavigationController.hpp"
       2              : #include "IDriveMotor.hpp"
       3              : 
       4           78 : NavigationController::NavigationController(IDriveMotor& motor)
       5          117 :     : motor_(motor) {}
       6              : 
       7           47 : void NavigationController::moveForward() {
       8           47 :     if (motorState_ == MotorState::FORWARD) return;
       9           47 :     motor_.moveForward();
      10           47 :     motorState_ = MotorState::FORWARD;
      11           47 : }
      12              : 
      13           13 : void NavigationController::moveBackward() {
      14           13 :     if (motorState_ == MotorState::BACKWARD) return;
      15           13 :     motor_.moveBackward();
      16           13 :     motorState_ = MotorState::BACKWARD;
      17           13 : }
      18              : 
      19           31 : void NavigationController::stop() {
      20           31 :     if (motorState_ == MotorState::STOPPED) return;
      21           31 :     motor_.stop();
      22           31 :     motorState_ = MotorState::STOPPED;
      23           31 : }
      24              : 
      25           16 : void NavigationController::turn(Direction direction) {
      26           16 :     MotorState target = (direction == Direction::LEFT) ? MotorState::LEFT : MotorState::RIGHT;
      27           16 :     if (motorState_ == target) return;
      28           16 :     if (motorState_ == MotorState::FORWARD || motorState_ == MotorState::BACKWARD) return;
      29           16 :     motor_.turn(direction);
      30           16 :     motorState_ = target;
      31           16 : }
      32              : 
      33           27 : void NavigationController::rotateRight() {
      34           27 :     motor_.rotateRight();
      35           27 :     motorState_ = MotorState::ROTATING_RIGHT;
      36           27 : }
      37              : 
      38           25 : void NavigationController::rotateLeft() {
      39           25 :     motor_.rotateLeft();
      40           25 :     motorState_ = MotorState::ROTATING_LEFT;
      41           25 : }
      42              : 
        

Generated by: LCOV version 2.4-0